/*
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved. 
 */
package com.icinfo.cloud.provider.punish.dto;


import com.icinfo.cloud.provider.punish.ucase.caseregister.dto.CaseHandlePersonInfoDto;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * 简易处罚保存dto
 */
@Data
public class SimpleCaseSaveOfAppDto implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 数据来源应用id
     */
    @NotEmpty(message = "数据来源应用id不能为空")
    private String caseSourceAppId;

    /**
     * 请求时间戳
     */
    @NotEmpty(message = "请求时间戳不能为空")
    private String requestTime;

    /**
     * 安全码
     */
    @NotEmpty(message = "安全码不能为空")
    private String security;

    /**
     * 数据来源方业务唯一主键id
     */
    private String dataSourceServiceId;

    //--------------取证-------------start

    /**
     * 案发时间
     */
    @NotNull(message = "案发时间不能为空")
    private String caseHappenTime;

    /**
     * 案发地址：经纬度(json数据)
     */
    @NotNull(message = "案件地址不能为空")
    private String addressLatLongitude;

    /**
     * 案发详细地址
     */
    @NotNull(message = "案件地址不能为空")
    private String caseHappenAddressDetail;

    /**
     * 取证照片
     */
    @NotNull(message = "取证照片不能为空")
    @Valid
    private List<CaseEvidencePhotoDto> caseEvidencePhotoList;

    /**
     * 反映内容
     */
    private String caseReactionContent;

    /**
     * 备注
     */
    private String caseRemark;



//-----------------------------当事人信息----------start

    /**
     * 当事人类型 1:个人 2:法人
     */
    private String partyType;
    /**
     * 当事人姓名
     **/
    private String name;
    /**
     * 当事人性别
     **/
    private String sex;
    /**
     * 年龄
     */
    private String age;
    /**
     * 当事人联系电话
     **/
    private String mobile;
    /**
     * 当事人证件类型
     **/
    private String certType;
    /**
     * 当事人证件号码
     **/
    private String certNo;
    /**
     * 当事人住址
     **/
    private String address;
    /**
     * 当事人工作单位
     **/
    private String unitName;
    /**
     * 当事人民族
     **/
    private String nationality;

    /**
     * 法定代表人或负责人--当事人法人
     **/
    private String legal;

    /**
     * 工作单位的职务--当事人法人
     **/
    private String job;
    /**
     * 统一社会信用代码--当事人法人
     **/
    private String uniscid;
    /**
     * 工作单位的电话--当事人法人
     **/
    private String phone;
    /**
     * 单位的地址--当事人法人
     **/
    private String unitAddress;
    /**
     * 法人身份证--当事人法人
     **/
    private String legalCertNo;
    /**
     * 法人证件类型--当事人法人
     **/
    private String legalCertType;

    /**
     * 单位单位名称--当事人法人
     **/
    private String entName;
    /**
     * 单位类型(1:法人 2:个体工商户 3:其他组织)--当事人法人
     **/
    private String entType;
    /**
     * 经营地址--当事人法人
     */
    private String businessAddress;


    //-----------------------------当事人信息----------end




    //-----------------处罚信息----------------start
    /**
     * 办案人员列表
     */
    @NotNull(message = "办案人员不能为空")
    @Valid
    private List<CaseHandlePersonInfoDto> handlePersonInfoList;


    //-----------------处罚信息----------------end
    /**
     * 外部行政行为码
     */
    private String caseExternalActsCode;

    //检查信息
    /**
     * 检查任务id
     */
    private String checkTaskId;
    /**
     * 检查任务编号
     */
    private String checkTaskNumber;
    /**
     * 检查任务名称
     */
    private String checkTaskName;

}